// pages/common/pages/submitorder/submitorder.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //地址信息
    userName: '',
    address: '点击选择配送地址',
    tel: '',

    // scroll-view的高度
    scrollViewHeight: 0,
    // 页面总高度将会放在这里
    windowHeight: 0,

    //总金额
    total: 0,
    //商品列表
    goodsList: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    let goods = JSON.parse(options.goodList);
    let total = options.total;
    console.log("goods:"+goods)
    this.setData({
      goodsList:goods,
      total:total
    })
  },
  onReady: function(page) {
    this.getScrollHight();
  },
  /**
   * 选择地址
   */
  chooseAddress() {
    let _this = this;
    wx.chooseAddress({
      success(res) {
        //获取地址成功
        _this.setData({
          //用户名
          userName: res.userName,
          //地址
          address: res.provinceName + res.cityName + res.countyName + res.detailInfo,
          //电话
          tel: res.telNumber
        })
      }
    })
  },
  /**
   * 提交订单
   */
  submitOrder() {
    this.buy();
  },
  //后台接口立即购买生成订单
  buy() {
    let _this = this;
    let address = _this.data.address;
    if (this.data.userName == '' || this.data.address == '' || this.data.tel == '') {
      wx.showToast({
        title: '请完善配送信息',
        icon: "none"
      })
      return;
    }
    var header = app.globalData.header; //获取app.js中的请求头
    wx.request({
      url: app.globalData.ipPort +'/front/shoppingcar/create/order?address=' + _this.data.userName + " " + _this.data.address + " " + _this.data.tel,
      method: 'post',
      header:header,
      success(res) {
        if (res.data.code == 200) {
          wx.showToast({
            title: "下单成功，等待审核！",
            icon: "success",
            duration: 4000
          })
          _this.setData({
            goods: null,
            goodsList:[]
          })
          wx.redirectTo({
            url: "/pages/common/pages/index/index"
          })
        } else {
          _this.setData({
            goods: null,
          })
          wx.showToast({
            title: res.data.msg,
            icon: "none"
          })
        }
      },
      fail(res) {
        _this.setData({
          goods: null,
        })
        wx.showToast({
          title: res.msg,
          icon: "none"
        })
      }
    })
  },
  /**
   * 计算scroll view 的高度
   */
  getScrollHight() {
    // 先取出页面高度 windowHeight
    let _this = this;
    wx.getSystemInfo({
      success: function(res) {
        _this.setData({
          windowHeight: res.windowHeight
        });
      }
    });

    // 然后取出address和bottom的高度
    // 根据文档，先创建一个SelectorQuery对象实例
    let query = wx.createSelectorQuery().in(this);
    // 然后逐个取出navbar和header的节点信息
    // 选择器的语法与jQuery语法相同
    query.select('.address').boundingClientRect();
    query.select('.bottom').boundingClientRect();

    // 执行上面所指定的请求，结果会按照顺序存放于一个数组中，在callback的第一个参数中返回
    query.exec((res) => {
      // 分别取出address和bottom的高度
      let navbarHeight = res[0].height;
      let headerHeight = res[1].height;

      // 然后就是做个减法
      let scrollViewHeight = this.data.windowHeight - navbarHeight - headerHeight;

      // 算出来之后存到data对象里面
      this.setData({
        scrollViewHeight: scrollViewHeight
      });
    });
  }
})